<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// 6、`Promise.all`方法: (promises) => {}
	// (1) promises: 包含n个promise的数组
	// 说明: 返回一个新的promise, 只有所有的promise都成功才成功, 只要有一个失败了就直接失败
	
	const p1 = new Promise(function(resolve,reject){
		setTimeout(function(){
			resolve(100);
		},1000)
		
	});
	const p2 = new Promise(function(resolve,reject){
		setTimeout(function(){
			reject(200);
		},500)
	});
	const p3 = new Promise(function(resolve,reject){
		setTimeout(function(){
			reject(300);
		},3000)
	});
	const p4 = new Promise(function(resolve,reject){
		setTimeout(function(){
			resolve(400);
		},2000)
	});
	// all接收的是数组，数组的元素是Promise实例，返回的值是一个新的Promise实例。
	// all接收的数组元素如果都是成功的Promise实例，那么p的状态为成功（fulfilled),值为数组（数组的元素即是所有的成功值）
	// all接收的数组元素只要有一个失败，那么p的状态为失败，值为all接收数组元素失败的值
	const p = Promise.all([p1,p3,p2,p4]);
	p.then(value=>{
		console.log("成功",value);
	},reason=>{
		console.log("失败",reason);
	})
	
	
</script>
</html>